In a typical computer system a programmer writing application programs has control over the manipulation and transfer of information between the computer's main memory and peripheral devices and external memory. However, at the application program level this information transfer is specified in general commands such as "file" or "get". The application programmer does not usually concern himself with the details of exactly how the requested information is located, transferred and checked for errors. Detailed control of the various components of the system is usually reserved for the operating system software.
The operating system software is a collection of software routines such as device drivers, file manipulation routines, utility routines and scheduling routines which, in conjunction with an applications program, coordinate and control, in minute detail, the operation of a computer system including transfer of information from peripheral units and external memory into the computer main memory and scheduling of various tasks and application programs.
Since a particular operating system routine must exercise detailed control over the operation of a specific piece of computer circuitry, it is necessary for the routine to recognize and handle the particular patterns of signals and commands and handle the timing constraints associated with that piece of circuitry. Consequently, if the circuitry is changed in any significant way, the associated software routine must often be changed in order to operate properly.
Accordingly, when operating system software is assembled by linking the various software routines, the correct revision levels of all the circuits and pieces of hardware which form the computer system must be known. Once the correct revision levels of all the circuits are known the correct software routines can be assembled to create the operating system software.
During the process of manufacturing computer circuitry, revisions are often made in the computer circuitry to improve performance and lower cost. While it is normally a straightforward procedure for the operating system software to be assembled by the manufacturer of the computer system, using a list of the revised circuits, confusion may result if revised and unrevised circuitry is on the assembly line at the same time. This confusion often results in an incorrect operating system being assembled, in turn, causing customer dissatisfaction.
In addition, it is often necessary for the customer himself to assemble an operating system at a later time if equipment is added or deleted from the system. Further, if the system is returned to the manufacturer to repair malfunctioning circuitry, often existing circuitry is replaced with new circuitry which may contain circuit revisions which were made after the the original circuitry was installed in the system. Thus, when the system is returned to the user the original operating system software may not work properly with the revised system.
In order for the user to revise the operating system software so that it will work with the new circuitry, it is necessary for him to have a complete list of the actual circuitry and the current revision levels in the computer system. Often this list is difficult to obtain or there may be confusion as to what revision level has been installed in the machine. Consequently, the operating software may be assembled with a software routine which does not match the actual circuitry in the system and may not operate properly.
It is therefore an object of the present invention to provide circuitry which will assist in automatically configuring the operating system software in a computer system.
It is another object of the present invention to provide circuitry which will automatically configure operating system software to the latest revision level of the circuits found in the computer system.
It is yet another object of the present invention to assist in automatically configuring the operating system in a computer system utilizing simple and inexpensive circuitry.
It is yet another object of the present invention to provide circuitry which will assist in configuring the operating system software in a computer system and which can be easily programmed with current revision level information during the manufacturing process or by service personnel.
It is a further object of the present invention to provide circuitry which can assist in configuring the operating system software in a computer system without manual intervention.